from pydantic import BaseModel

class Recipe(BaseModel):
    """
    菜谱数据模型
    
    该模型用于标准化存储从PDF等来源解析出的菜谱信息。
    
    Attributes:
        name (str): 菜品名称，例如 "鱼香茄子"。
        materials (str): 制作所需材料及用量，例如 "茄子2个，蒜末1勺..."。
        method (str): 具体烹饪步骤和方法，例如 "1. 茄子切条... 2. 热锅凉油..."。
    """
    name: str
    materials: str
    method: str


class RecipeList(BaseModel):
    """
    菜谱列表模型
    
    用于封装多个Recipe对象，便于批量处理和传输。
    
    Attributes:
        recipes (List[Recipe]): 菜谱对象列表。
    """
    recipes: list[Recipe]
